package com.wjp.banquet.controller;

import com.wjp.banquet.common.util.MessageUtil;
import com.wjp.banquet.common.util.ParamCheckUtil;
import com.wjp.banquet.common.vo.CommonRsp;
import com.wjp.banquet.dto.UserLoginDTO;
import com.wjp.banquet.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;
import javax.validation.Valid;

/**
 * @Author 王君平
 * @Date 2024/4/26 11:53
 * @Description
 */
@Slf4j
@Api(value = "系统-用户", tags = {"系统-用户"})
@RequestMapping("/sys/user")
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @ApiOperation(value ="pc用户登录 作者：王君平 日期： 2023年8月30日")
    @PostMapping("login")
    public CommonRsp<Void> login(@Valid @RequestBody UserLoginDTO dto, BindingResult bindingResult,HttpSession session){
        ParamCheckUtil.verifyBindingResult(bindingResult);
        userService.login(dto,session);
        return MessageUtil.success();
    }

    @ApiOperation(value ="pc用户登出 作者：王君平 日期： 2023年8月30日")
    @PostMapping("logout")
    public CommonRsp<Void> logout(HttpSession session){
        userService.logout(session);
        return MessageUtil.success();
    }
}
